home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / util / rexx / joystick.readme < prev    next >
Text File  |  2000-04-16  |  2KB  |  66 lines

  1. Short:    Read the joystick buttons in ARexx
  2. Author:   fox@ridhughz.demon.co.uk (Ridwan Hughes)
  3. Uploader: fox@ridhughz.demon.co.uk (Ridwan Hughes)
  4. Type:     util/rexx
  5.  
  6. I once found out how to read/write the parallel port in ARexx and wrote a
  7. simple level meter for 8bit sound samplers, but as my 2 Amigas are linked
  8. through the parallel port it means I can't use it for inputting with so I
  9. looked at reading the 5 inputs from the joystick port as I don't use that,
  10. and after a little help (thanks Neko for the docs) I figured out how to
  11. read the joystick port in arexx.
  12.  
  13.  
  14.  
  15.  
  16.  
  17. It's dead dead dead dead simple, just add these lines into your ARexx
  18. script whenever you need to read the joystick port:
  19.  
  20.  
  21.  /* reading a joystick plugged into the mouse port */
  22.  mem=import('00df f00a'x,2)
  23.  j0u=bittst(c2b(bitxor(bittst(mem,9),bittst(mem,8))),0)
  24.  j0d=bittst(c2b(bitxor(bittst(mem,1),bittst(mem,0))),0)
  25.  j0l=bittst(mem,9)
  26.  j0r=bittst(mem,1)
  27.  j0f=1-bittst(import('00bf e041'x,1),6)
  28.  
  29.  /* reading a joystick plugged into the joystick port */
  30.  mem=import('00df f00c'x,2)
  31.  j1u=bittst(c2b(bitxor(bittst(mem,9),bittst(mem,8))),0)
  32.  j1d=bittst(c2b(bitxor(bittst(mem,1),bittst(mem,0))),0)
  33.  j1l=bittst(mem,9)
  34.  j1r=bittst(mem,1)
  35.  j1f=1-bittst(import('00bf e041'x,1),7)
  36.  
  37.  
  38. j0f is joystick port 0 fire button (the left mouse basically)
  39. j1f is joystick port 1 fire button (the normal joystick fire)
  40. figure the rest out for yourself :)
  41.  
  42. The variables return 0 or 1 for the state of the button.
  43.  
  44.  
  45.  
  46.  
  47.  
  48. With this kind of input you can put manual switches into an old joystick
  49. lead which will enable you to "physically" configure programs, you could
  50. have an ARexx script on bootup sensing a switch on the joystick port
  51. which then would execute separate scripts according to the switch position.
  52.  
  53. Myself, I'll at first be using it to set wether I'm in front of the computer
  54. or away/asleep as when my computer is online it has scripts to keep it on IRC
  55. & ICQ, the switch would control wether I'm '/away' on IRC and 'Not Available'
  56. on ICQ.
  57.  
  58.  
  59.  
  60.  
  61.  
  62. have fun
  63.  
  64.  
  65. Rid <fox@ridhughz.demon.co.uk>
  66.